Docker Compose
複数のコンテナを利用するアプリケーションを管理するためのツール
docker-compose.yml にアプリケーションで利用するコンテナの構成情報を記述することで、個々のコンテナを手動操作すること無く、アプリケーション全体をまとめて構築・管理することができる
インストール
コンテナをずっと起動させる
code:conf
tty: true
タイムゾーンあわせる
code:conf
volumes:
- /etc/localtime:/etc/localtime:ro
OS 再起動時の自動起動
code:conf
restart: always
環境変数の設定
code:conf
$ cat .env
TAG=v1.5
$ cat docker-compose.yml
version: '3'
services:
web:
image: "webapp:${TAG}"
確認コマンド
code:conf
$ docker-compose config
version: '3'
services:
web:
image: 'webapp:v1.5'
コマンド
ビルド
code:shell
$ docker-compose build
バックグラウンド起動
code:shell
$ docker-compose up -d
コンテナの削除とネットワークの削除
code:shell
$ docker-compose down
スケールアップ : 3 台増やす操作
code:shell
$ docker-compose scale web=3
サンプル
code:yaml
version: "3.8"
services:
web-fe:
build: .
command: python app.py
ports:
- target: 5000
published: 5000
networks:
- counter-net
volumes:
- type: volume
source: counter-vol
target: /code
redis:
image: "redis:alpine"
networks:
counter-net:
networks:
counter-net:
volumes:
counter-vol:
References